function UX(){
	function change_checkbox(){
		$(':checkbox.checkbox').each(function(){
			$(this).addClass("hidden").after('<span class="checkbox-plain"></span>')
			.siblings(".checkbox-plain").click(function(){
				checkbox(this);
			});
			if($(this).attr('checked')) $(this).siblings(".checkbox-plain").click();
		});
		
		$('label[for]').click(function(){
			var target = $(this).attr("for");
			target = $("#" + target);
			if(target.is(".checkbox.checkbox")) {
				checkbox(target.siblings(".checkbox-plain"));
			}
			return false;
		})
		
		function checkbox(j){
			j = j instanceof jQuery?j:$(j);
			if (j.hasClass("checked")) {
				j.removeClass("checked");
				j.siblings(".checkbox").removeAttr("checked");
			}
			else {
				j.addClass("checked");
				j.siblings(".checkbox").attr("checked", true);
			}
		}
	}
	
	function message_disappear(){
		$('.message .disappear').click(function(){
			$(this).closest('.message').slideUp('fast');
		})
	}
	
	return {'change_checkbox':change_checkbox, 'message_disappear':message_disappear};
}
$(document).ready(function(){
	window.ux = UX();
	ux.change_checkbox();
	ux.message_disappear();
});
